package com.bpmn.flow.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 流程定义视图
 *
 * @author rain
 */
@Data
public class InstanceVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "流程实例的编号")
    private String id;

    @Schema(description = "流程标识")
    private String businessKey;

    @Schema(description = "业务的唯一标识-例如说，请假申请的编号")
    private String processDefinitionKey;

    @Schema(description = "流程实例的状态")
    private String businessStatus;

    @Schema(description = "流程实例的状态名称")
    private String businessStatusName;

    @Schema(description = "流程名称")
    private String name;

    @Schema(description = "流程分类")
    private String processDefinitionCategory;

    @Schema(description = "发起时间")
    private Date startTime;

    @Schema(description = "结束时间")
    private Date endTime;

    @Schema(description = "持续时间")
    private Long durationInMillis;

    @Schema(description = "发起人")
    private String startUserId;

}
